Labels

sports (42) football (35) fifa 2010 (20) soccer (20) world cup (19) fun (17) google (14) reviews (12) experiements (10) learnings (9) software (8) mac (7) cricket (5) video (5) friends (4) goal (4) linux (4) music (4) tennis (4) bangalore (3) brazil (3) keyboard (3) movie (3) mumbai attacks (3) tips (3) tricks (3) article (2) dharmendra (2) economictimes (2) health (2) heart attack (2) hindi (2) mavericks (2) osx (2) shortcuts (2) work (2) apsrtc (1) calendar (1) dad (1) india (1) maicon (1) responsibility (1) retrospection (1) virtualbox (1)

Wednesday, January 27, 2010

Bugs

While going through some Evolution [ a Linux email client ] mailing list today, I came across the following text :

While I was adding debug printfs to maildir_summary_check() somehow this
bug went away (classical heisenbug ;)). I could not reproduce it anymore.



A bit of googling on this "heisenbug" took me to this wiki page that lists some popular but funny ways of classifying software bugs. Few of them are :

  • Heisenbug
These type of bugs are the most annoying ones and encountered by most programmers who work with large pieces of code or large pieces of multi-threaded code.  By definition, this is a computer bug that disappears when an attempt is made to study it. Example : You see this bug in production systems but you do not see them in your debug builds !!
  • Bohrbug
These type of bugs, once caught can be studied but with great difficulty. The conditions under which these type of bugs occur is usually unknown, or takes a very long time to deduce. Example : a buffer overflow bug that manifests itself only when a particular [ usually large or corrupted ] set of data is used. We had some funny name for these type of bugs. We called them, "scratch the head" bugs :D .. Basically originated from someone trying to explain the scenario when this bug occurred by saying, "I was using this software for doing some work, and suddenly out of the blue, just when I scratched my head, it crashed !!!"
  • Mandelbug
These are bugs whose behaviors may or may not be chaotic, but are so very complex that there is probably no practical solution. Example : A bug manifested due to the fundamental flaw in the design of the program.
  • Schroedinbug
One of the funniest and most annoying bugs. Usually caused by using the program under a particular scenario [ most of the time its an unusual way to use the program ] and it is realized that the program should have never worked in the first place. And from this point onwards, the program simply stops working for everybody else till that annoying bug is fixed.


No comments:

Post a Comment